Najczęstsze błędy popełniane w algotradingu

150x110

Handel algorytmiczny oparty na analizie technicznej zdobywa coraz większą popularność. Na rozwiniętych rynkach już teraz uwaga profesjonalnych traderów przenosi się z kolejnych słupków na wykresie na testowanie algorytmów. W ślad za profesjonalistami idą amatorzy. Algorytmy tradingowe zdobywają świat. Niezaprzeczalną zaletą konstruowania algorytmów jest możliwość ich testowania i optymalizacji. Wiążą się z tym jednak pewne problemy. Błędne zastosowanie narzędzi optymalizujących może ograniczyć skuteczność stworzonych strategii. Jak uniknąć takich sytuacji, doradza firma emiSoft, która opracowała narzędzie do automatycznego inwestowania.

Podstawowym błędem w sztuce optymalizacji algorytmów jest pominięcie testowania out-of-sample, czyli na podstawie danych rynkowych z przeszłości, ale innych niż dane na podstawie których optymalizowano strategię analizy technicznej. Początkujący traderzy tworzą strategie, a następnie dostosowują ją do wszystkich dostępnych danych. Najczęściej parametry wskaźników w analizie technicznej można dobrać tak, by dawały sygnały inwestycyjne w każdej sytuacji, a więc dopasowując się do najbardziej zyskownych okresów w próbie. System musi jednak znajdywać dobre okazje również po okresie optymalizacji. Gotowy system musi być zatem testowany bez aktualizacji parametrów.

Zadbaj o parametry

Drugim wnioskiem z tej obserwacji jest ograniczanie ilości optymalizowanych parametrów. Im ich więcej tym mocniej system jest uzależniony od ich stabilności, czyli niezmienności parametrów skutecznego systemu w czasie. Specjaliści szacują, że system transakcyjny nie powinien mieć więcej niż pięć parametrów dobieranych na podstawie przeszłych danych. Najskuteczniejsze są proste systemy wsparte dobrym zarządzaniem ryzykiem.

Źle dobrane dane

Narzędzi analizy technicznej nie można jednak optymalizować i testować na podstawie każdych dostępnych danych. Przeważnie wskaźniki w analizie technicznej mają zastosowanie w trendach konkretnego typu. I tak oscylatory służą zazwyczaj do wychwytywania punktów zwrotnych w trendach horyzontalnych, natomiast wskaźniki oparte na średnich ruchomych wychwytują punkty zwrotne w innych trendach. Trend cenowy jest jedną z najważniejszych informacji przy optymalizacji. Optymalizacja musi brać go pod uwagę lub testowany system transakcyjny musi wykrywać trend.
Unikać należy ponadto danych niereprezentatywnych. Jeżeli na cenę instrumentu wpływ miało zdarzenie niespodziewane i wyjątkowe to ruch cen nim wywołany nie jest reprezentatywny dla danego instrumentu. Nie powinno się więc brać pod uwagę okresu, gdy ruch cenowy był spowodowany tym zdarzeniem. Ponadto optymalizacją rządzi zasada, że im świeższe dane tym lepiej. Rynki finansowe podlegają ciągłej ewolucji, zatem im starsze dane tym większa szansa na stworzenie nieskutecznego systemu.

Ważniejsze ograniczanie strat

Kolejnym błędem popełnianym w optymalizacji jest wykorzystywanie wiedzy o przyszłości, zwane z angielskiego look-ahead bias. Na przykład, jeżeli strategia zakłada zamkniecie transakcji, gdy cena zbliża się do maksimum danego dnia to wykorzystywane są dane z przyszłości. Algorytm podczas rzeczywistych transakcji nie może przewidzieć jaka jest maksymalna cena niezakończonego dnia. Najprostszym sposobem unikania tego błędu jest zawieranie transakcji po cenie otwarcia z okresu następnego po wystąpieniu sygnału.

Nie należy zapominać również o zarządzaniu ryzykiem i prawidłowym określaniu momentów wyjścia z transakcji. Zarządzanie ryzykiem pozwala na ograniczanie strat w przypadku błędnych decyzji podejmowanych przez algorytm. Doświadczeni gracze giełdowi twierdzą nawet, że prawidłowe wychodzenie z rynku i ograniczanie strat jest ważniejsze niż wychwytywanie okazji inwestycyjnych. Nie można więc zapominać o zleceniach stop-loss i take-profit.

Pamiętaj o kosztach transakcyjnych

Ważnym tematem, którego jednak analiza techniczna nie uwzględnia są koszty transakcyjne: prowizja i poślizg cenowy - slippage. Prowizja to koszt transakcji pobierany przez maklera, natomiast slippage to różnica miedzy ceną, po której chcemy zawrzeć transakcje, a ceną po której zlecenie rzeczywiście będzie zrealizowane. Koszty prowizji, choć łatwe do przewidzenia, są nie do uniknięcia jednak koszt slippage jest bardzo problematyczny. Aby go ograniczyć należy dostosować wielkość transakcji do płynności rynku.

Przede wszystkim jednak nie można nigdy przestać się uczyć. Internet, literatura, a przede wszystkim własne błędy to nieograniczone pole do wyciągania wniosków i szukania pomysłów na zwiększenie zyskowności naszej strategii. Analiza techniczna to szeroka dziedzina, która przez cały czas się rozwija, a dobry gracz rozwija się razem z nią.